<template>
  <div>
    <!-- 消息提示组件 -->
  </div>
</template>

<script>
import { Message as ElMessage, MessageBox } from 'element-ui';

// 创建消息实例对象
const messageInstance = {
  // 成功消息
  success(message, duration = 3000) {
    ElMessage.success({
      message,
      duration,
      showClose: true
    });
  },
  // 错误消息
  error(message, duration = 3000) {
    ElMessage.error({
      message,
      duration,
      showClose: true
    });
  },
  // 警告消息
  warning(message, duration = 3000) {
    ElMessage.warning({
      message,
      duration,
      showClose: true
    });
  },
  // 信息消息
  info(message, duration = 3000) {
    ElMessage.info({
      message,
      duration,
      showClose: true
    });
  },
  // 确认对话框
  confirm(message, title = '提示', options = {}) {
    return MessageBox.confirm(
      message,
      title,
      Object.assign({
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }, options)
    );
  },
  // 提示对话框
  alert(message, title = '提示', options = {}) {
    return MessageBox.alert(
      message,
      title,
      Object.assign({
        confirmButtonText: '确定',
        type: 'info'
      }, options)
    );
  },
  // 输入对话框
  prompt(message, title = '提示', options = {}) {
    return MessageBox.prompt(
      message,
      title,
      Object.assign({
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'prompt'
      }, options)
    );
  }
};

// 导出为Vue插件
export default {
  install(Vue) {
    // 添加实例方法
    Vue.prototype.$message = messageInstance;
    // 添加全局方法
    Vue.$message = messageInstance;
  }
};

// 同时导出消息实例，以便在非组件环境中使用
export const Message = messageInstance;
</script>

<style scoped>
</style>